<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui"
      xmlns:h="http://java.sun.com/jsf/html">

    <body>

        <ui:composition template="./../../WEB-INF/templates/MainTemplate.xhtml">

            <ui:define name="bar">
                <h:form id="barForm">
                    <p:panel id="barFormPanel" styleClass="noMargin noPadding noBorder">
                        <p:commandButton styleClass="actionButton" id="nuevoPedidoFabricaButton" value="#{messages.NuevoPedidoFabrica}" actionListener="#{nuevoPedidoFabricaBean.reinitPedidoFabrica()}" onsuccess="dialogoNuevoPedidoFabrica.show();"></p:commandButton>
                        <p:commandButton styleClass="actionButton" disabled="#{listadoPedidosFabricaBean.entidadElegida==null}" id="editarPedidoFabricaButton" value="#{messages.EditarPedidoFabrica}" action="#{listadoPedidosFabricaBean.irAEditarProductosPedidoFabrica()}" actionListener="#{listadoPedidosFabricaBean.elegirEntidad()}"></p:commandButton>
                        <p:commandButton styleClass="actionButton" disabled="#{listadoPedidosFabricaBean.entidadElegida==null}" id="facturaPedidoFabricaButton" value="#{messages.GenerarFactura}" action="#{listadoPedidosFabricaBean.irANuevaFacturaPedidoFabrica()}" actionListener="#{listadoPedidosFabricaBean.elegirEntidad()}"></p:commandButton>
                        <p:commandButton styleClass="actionButton" disabled="#{listadoPedidosFabricaBean.entidadElegida==null}" id="facturasPedidoFabricaButton" value="#{messages.ListadoFacturas}" update=":dialogoForm:facturasPanel" oncomplete="dialogoFacturasPedidoFabrica.show()"></p:commandButton>
                        <p:commandButton styleClass="actionButton" disabled="#{listadoPedidosFabricaBean.entidadElegida==null}" id="estadoPedidoFabricaButton" value="#{messages.EstadoPedidoFabrica}" action="#{listadoPedidosFabricaBean.irAEstadoPedidoFabrica()}" actionListener="#{listadoPedidosFabricaBean.elegirEntidad()}"></p:commandButton>
                        <p:commandButton styleClass="actionButton" disabled="#{listadoPedidosFabricaBean.entidadElegida==null}" id="estadoPedidoFabricaProductoTallaButton" value="#{messages.EstadoPedidoFabricaProductoTalla}" action="#{listadoPedidosFabricaBean.irAEstadoPedidoFabricaProductoTalla()}" actionListener="#{listadoPedidosFabricaBean.elegirEntidad()}"></p:commandButton>
                    </p:panel>
                </h:form>
            </ui:define>

            <ui:define name="dialogs">
                <h:form id="dialogoForm">
                    <p:dialog modal="true" id="dialogoNuevoPedidoFabrica" widgetVar="dialogoNuevoPedidoFabrica"  header="#{messages.NuevoPedidoFabrica}">
                        <h:panelGrid columns="4">
                            <p:outputLabel for="proveedor" value="#{messages.Proveedor}"></p:outputLabel>
                            <p:selectOneMenu converter="#{proveedorConverter}" id="proveedor" required="true" value="#{nuevoPedidoFabricaBean.nuevoPedidoFabrica.proveedor}" label="#{messages.Proveedor}">
                                <f:selectItem itemLabel="#{messages.SeleccionaProveedor}" itemValue="" />  
                                <f:selectItems value="#{resourcesBean.proveedores}" var="proveedor" itemLabel="#{proveedor.nombreComercial}" itemValue="#{proveedor}"></f:selectItems>
                            </p:selectOneMenu>
                            
                            <p:outputLabel for="fechaEntrega" value="#{messages.FechaEntrega}"></p:outputLabel>
                            <p:calendar required="true" locale="es" showButtonPanel="true" navigator="true" value="#{nuevoPedidoFabricaBean.nuevoPedidoFabrica.fechaEntrega}" id="fechaEntrega"/>
                            
                            <p:outputLabel for="observaciones" value="#{messages.Observaciones}"></p:outputLabel>
                            <p:inputTextarea id="observaciones" value="#{nuevoPedidoFabricaBean.nuevoPedidoFabrica.observaciones}"></p:inputTextarea>
                           
                            <p:outputLabel for="penalizaciones" value="#{messages.Penalizaciones}"></p:outputLabel>
                            <p:inputTextarea id="penalizaciones" value="#{nuevoPedidoFabricaBean.nuevoPedidoFabrica.penalizaciones}"></p:inputTextarea>
                        </h:panelGrid>
                        <p:commandButton process="@parent" update=":pedidoFabricaForm:pedidoFabricaGrowl :pedidoFabricaForm:pedidosFabrica" value="#{messages.Crear}" action="#{nuevoPedidoFabricaBean.crearPedidoFabrica()}"></p:commandButton>
                    </p:dialog>
                    <p:dialog modal="true" id="dialogoFacturasPedidoFabrica" widgetVar="dialogoFacturasPedidoFabrica"  header="#{messages.FacturasPedidoFabrica}">
                        <p:panel id="facturasPanel">
                            <p:commandLink process="@this" disabled="#{listadoRecepcionesPedidoFabricaBean.entidadElegida==null}" id="editarFacturaPedidoFabricaButton" value="#{messages.EditarFacturaPedidoFabrica}" action="#{listadoRecepcionesPedidoFabricaBean.irAEditarFacturaPedidoFabrica()}" actionListener="#{listadoRecepcionesPedidoFabricaBean.elegirEntidad()}"></p:commandLink>
                            <p:dataTable emptyMessage="#{messages.NoFacturaPedidoFabrica}" resizableColumns="true" selectionMode="single" liveScroll="true" scrollable="true" scrollRows="50" scrollHeight="600" id="facturasPedidoFabrica" var="facturaPedidoFabrica" rowKey="#{facturaPedidoFabrica.idFacturaPedidoFabrica}" selection="#{listadoRecepcionesPedidoFabricaBean.entidadElegida}" value="#{listadoPedidosFabricaBean.entidadElegida.facturaPedidoFabricaList}">
                                <p:ajax update=":dialogoForm:facturasPanel" event="rowSelect" listener="#{listadoRecepcionesPedidoFabricaBean.seleccionarEntidad()}"/> 
                                <p:ajax update=":dialogoForm:facturasPanel" event="rowUnselect" listener="#{listadoRecepcionesPedidoFabricaBean.deseleccionarEntidad()}"/>
                                <p:column sortBy="#{facturaPedidoFabrica.identificador}" headerText="#{messages.Identificador}" filterBy="#{facturaPedidoFabrica.identificador}" filterMatchMode="contains" width="200">
                                    <h:outputText value="#{facturaPedidoFabrica.identificador}"></h:outputText> 
                                </p:column>
                                <p:column sortBy="#{facturaPedidoFabrica.pedidoFabrica.proveedor.nombreComercial}" headerText="#{messages.Proveedor}" filterBy="#{facturaPedidoFabrica.pedidoFabrica.proveedor.nombreComercial}" filterMatchMode="contains" width="200">
                                    <h:outputText value="#{facturaPedidoFabrica.pedidoFabrica.proveedor.nombreComercial}"></h:outputText> 
                                </p:column>
                                <p:column sortBy="#{facturaPedidoFabrica.pedidoFabrica.fechaCreacion}" headerText="#{messages.FechaPedido}" width="80">
                                    <h:outputText value="#{facturaPedidoFabrica.pedidoFabrica.fechaCreacion}">
                                        <f:convertDateTime pattern="dd/MM/yyyy"/>
                                    </h:outputText> 
                                </p:column>
                                <p:column sortBy="#{facturaPedidoFabrica.unidades}" headerText="#{messages.Unidades}" width="80">
                                    <h:outputText value="#{facturaPedidoFabrica.unidades}">
                                        <f:convertNumber />
                                    </h:outputText> 
                                </p:column>
                                <p:column sortBy="#{facturaPedidoFabrica.total}" headerText="#{messages.Total}" width="80">
                                    <h:outputText value="#{facturaPedidoFabrica.total}">
                                        <f:convertNumber minFractionDigits="2" maxFractionDigits="2" />
                                    </h:outputText> 
                                </p:column>
                                <p:column sortBy="#{facturaPedidoFabrica.ok}" headerText="#{messages.Correcto}" width="80">
                                    <h:outputText value="#{facturaPedidoFabrica.ok}"></h:outputText> 
                                </p:column>
                            </p:dataTable>
                        </p:panel>
                    </p:dialog>
                </h:form>
            </ui:define>
            <ui:define name="content">
                <h:form id="pedidoFabricaForm">
                    <p:growl autoUpdate="true" life="4000" id="pedidoFabricaGrowl"></p:growl>
                    <p:dataTable emptyMessage="#{messages.NoPedidos}" resizableColumns="true" selectionMode="single" liveScroll="true" scrollable="true" scrollRows="50" scrollHeight="600" id="pedidosFabrica" var="pedidoFabrica" rowKey="#{pedidoFabrica.idPedidoFabrica}" selection="#{listadoPedidosFabricaBean.entidadElegida}" value="#{listadoPedidosFabricaBean.listadoEntidades}">
                        <p:ajax update=":barForm:barFormPanel" event="rowSelect" listener="#{listadoPedidosFabricaBean.seleccionarEntidad()}"/> 
                        <p:ajax update=":barForm:barFormPanel" event="rowUnselect" listener="#{listadoPedidosFabricaBean.deseleccionarEntidad()}"/>
                        <p:column sortBy="#{pedidoFabrica.proveedor.nombreComercial}" headerText="#{messages.Proveedor}" filterBy="#{pedidoFabrica.proveedor.nombreComercial}" filterMatchMode="contains" width="200">
                            <h:outputText value="#{pedidoFabrica.proveedor.nombreComercial}"></h:outputText> 
                        </p:column>
                        <p:column sortBy="#{pedidoFabrica.fechaCreacion}" headerText="#{messages.FechaPedido}" width="80">
                            <h:outputText value="#{pedidoFabrica.fechaCreacion}">
                                <f:convertDateTime pattern="dd/MM/yyyy"/>
                            </h:outputText> 
                        </p:column>
                        <p:column sortBy="#{pedidoFabrica.fechaEntrega}" headerText="#{messages.FechaEntrega}" width="80">
                            <h:outputText value="#{pedidoFabrica.fechaEntrega}">
                                <f:convertDateTime pattern="dd/MM/yyyy"/>
                            </h:outputText> 
                        </p:column>
                        <p:column sortBy="#{pedidoFabrica.total}" headerText="#{messages.Compra}" width="70">
                            <h:outputText value="#{pedidoFabrica.total}">
                                <f:convertNumber maxFractionDigits="2" minFractionDigits="2"/>
                            </h:outputText> 
                        </p:column>
                        <p:column sortBy="#{pedidoFabrica.unidades}" headerText="#{messages.Unidades}" width="50">
                            <h:outputText value="#{pedidoFabrica.unidades}"></h:outputText> 
                        </p:column>
                        <p:column sortBy="#{pedidoFabrica.ok}" headerText="#{messages.Correcto}" width="80">
                            <h:outputText value="#{pedidoFabrica.ok}"></h:outputText> 
                        </p:column>
                        
                    </p:dataTable>
                    
                </h:form>
            </ui:define>

        </ui:composition>

    </body>
</html>
